Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Rendered • View rawDownload


lang/README.ru.md v4.4.0-rc.1 (3e06f582) Text, 10.30 KB

Reticulum MeshChatX

Существенно доработанный и функционально расширенный форк Reticulum MeshChat от Liam Cottle.

Этот проект независим от оригинального Reticulum MeshChat и не связан с ним.

• Исходный код: git.quad4.io/RNS-Things/MeshChatX
• Журнал изменений: CHANGELOG.md
• TODO: TODO.md

Важные замечания

• Полная поддержка LXMF является ключевым направлением проекта.
• Хранение данных и миграции постепенно переводятся на прямой SQL (замена устаревших путей Peewee ORM).

│ [!WARNING] MeshChatX не гарантирует совместимость данных со старыми версиями Reticulum MeshChat.
│ Сделайте резервную копию перед миграцией или тестированием.

│ [!WARNING] Устаревшие системы пока не полностью поддерживаются. Текущие требования: Python T383838>=3.11
│ и Node T383838>=24.

Демо и скриншоты

<video src="https://strg.0rbitzer0.net/raw/62926a2a-0a9a-4f44-a5f6-000dd60deac1.mp4" controls="controls" style="max-width: 100%;"></video>

Интерфейс
Требования

• Python T383838>=3.11 (из T383838pyproject.toml)
• Node.js T383838>=24 (из T383838package.json)
• pnpm T38383810.32.1 (из T383838package.json)
• Poetry (используется в T383838Taskfile.yml и CI)

Способы установки

┌─────────────────────┬─────────────────────┬──────────────┬───────────────────────────────────────┐
│ Метод │ Включает фронтенд │ Архитектуры │ Лучше всего подходит для │
├─────────────────────┼─────────────────────┼──────────────┼───────────────────────────────────────┤
│ Docker-образ │ Да │ T383838linux/amd64… │ Быстрый запуск на серверах Linux │
│ Python wheel (T383838.whl) │ Да │ Любая архит… │ Безголовый/веб-сервер без сборки Node │
│ Linux AppImage │ Да │ T383838x64, T383838arm64 │ Портативное использование на ПК │
│ Debian-пакет (T383838.deb) │ Да │ T383838x64, T383838arm64 │ Установка на Debian/Ubuntu │
│ RPM-пакет (T383838.rpm) │ Да │ Зависит от … │ Fedora/RHEL/openSUSE │
│ Из исходников │ Собирается локально │ Архитектура… │ Разработка и кастомные сборки │
└─────────────────────┴─────────────────────┴──────────────┴───────────────────────────────────────┘

Примечания:

• CI явно собирает Linux T383838x64 и T383838arm64 AppImage + DEB.
• RPM также создается при сборке релиза и загружается, если успешно.

Быстрый старт: Docker

T282828
docker compose up -d

Compose-файл по умолчанию:

• T383838127.0.0.1:8000 на хосте -> порт T3838388000 контейнера
• T383838./meshchat-config -> T383838/config для хранения данных

Если возникают ошибки прав доступа:

T282828
sudo chown -R T79c0ff1000:1000 ./meshchat-config


Установка из релизных артефактов

1) Linux AppImage (x64/arm64)

1. Скачайте T383838ReticulumMeshChatX-v<версия>-linux-<арх>.AppImage из релизов.
2. Сделайте исполняемым и запустите:

T282828
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage

2) Debian/Ubuntu T383838.deb (x64/arm64)

1. Скачайте T383838ReticulumMeshChatX-v<версия>-linux-<арх>.deb.
2. Установите:

T282828
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb

3) RPM-системы

1. Скачайте T383838ReticulumMeshChatX-v<версия>-linux-<арх>.rpm, если есть в релизе.
2. Установите:

T282828
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm

4) Python wheel (T383838.whl)

Wheel-пакеты из релизов включают собранный фронтенд.

T282828
pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchat --headless

T383838pipx также поддерживается:

T282828
pipx install ./reticulum_meshchatx-*-py3-none-any.whl

Запуск из исходников (режим веб-сервера)

T282828
git clone https://git.quad4.io/RNS-Things/MeshChatX.git
Tffa657cd MeshChatX
corepack Tffa657enable
pnpm install
pip install poetry
poetry install
pnpm run build-frontend
poetry run meshchat --headless --host T79c0ff127.0.0.1


Запуск в песочнице (Linux)

Чтобы запускать нативный бинарник T383838meshchat с дополнительной изоляцией файловой системы, можно использовать Firejail или Bubblewrap (T383838bwrap), сохраняя обычный сетевой доступ для Reticulum и веб-интерфейса. Полные примеры (pip/pipx, Poetry, заметки про USB-serial) в:


Та же страница отображается во встроенном разделе Документация (документация MeshChatX), когда она отдаётся из входящих в сборку или синхронизируемых файлов T383838meshchatx-docs.

Сборка пакетов из исходников

Linux x64 AppImage + DEB

T282828
pnpm run dist:linux-x64

Linux arm64 AppImage + DEB

T282828
pnpm run dist:linux-arm64

RPM

T282828
pnpm run dist:rpm

Поддержка архитектур

• Docker: T383838amd64, T383838arm64
• Linux AppImage: T383838x64, T383838arm64
• Linux DEB: T383838x64, T383838arm64
• Windows: T383838x64, T383838arm64 (скрипты сборки доступны)
• macOS: скрипты сборки доступны (T383838arm64, T383838universal)
• Android: проект и CI-воркфлоу присутствуют в репозитории

Android
Конфигурация

┌───────────────┬──────────────────────┬──────────────┬────────────────────────────────────┐
│ Аргумент │ Переменная окружения │ По умолчанию │ Описание │
├───────────────┼──────────────────────┼──────────────┼────────────────────────────────────┤
│ T383838--host │ T383838MESHCHAT_HOST │ T383838127.0.0.1 │ Адрес привязки веб-сервера │
│ T383838--port │ T383838MESHCHAT_PORT │ T3838388000 │ Порт веб-сервера │
│ T383838--no-https │ T383838MESHCHAT_NO_HTTPS │ T383838false │ Отключить HTTPS │
│ T383838--headless │ T383838MESHCHAT_HEADLESS │ T383838false │ Не открывать браузер автоматически │
│ T383838--auth │ T383838MESHCHAT_AUTH │ T383838false │ Включить базовую аутентификацию │
│ T383838--storage-dir │ T383838MESHCHAT_STORAGE_DIR │ T383838./storage │ Директория данных │
│ T383838--public-dir │ T383838MESHCHAT_PUBLIC_DIR │ авто │ Директория фронтенд-файлов │
└───────────────┴──────────────────────┴──────────────┴────────────────────────────────────┘

Ветки

┌────────┬───────────────────────────────────────────────────────────────────────────┐
│ Ветка │ Назначение │
├────────┼───────────────────────────────────────────────────────────────────────────┤
│ T383838master │ Стабильные релизы. Только готовый к продакшену код. │
│ T383838dev │ Активная разработка. Может содержать нестабильные или неполные изменения. │
└────────┴───────────────────────────────────────────────────────────────────────────┘

Разработка

T282828
task install
task lint:all
task test:all
task build:all

Безопасность

• Встроенные проверки целостности и HTTPS/WSS по умолчанию
• CI-сканирование в T383838.gitea/workflows/

Добавление языка

Обнаружение локалей происходит автоматически. Для добавления нового языка достаточно одного JSON-файла:

1. Сгенерировать шаблон из T383838en.json:

T282828
python scripts/generate_locale_template.py

2. Переименовать и переместить в каталог локалей:

T282828
mv locales.json meshchatx/src/frontend/locales/xx.json

3. Установить T383838_languageName в начале файла на название языка на этом языке (например T383838"Espanol", T383838"Francais").

4. Перевести все остальные значения.

5. Проверить соответствие ключей: T383838pnpm test -- tests/frontend/i18n.test.js --run

Никаких других изменений кода не требуется.

Авторы

Liam Cottle - Оригинальный Reticulum MeshChat
RFnexus - JavaScript-реализация Micron-парсера
markqvist - Reticulum, LXMF, LXST


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────